package netty.rpc.core;

import org.springframework.stereotype.Component;

import java.lang.annotation.*;

/**
 * @author Jim
 * @version 1.0.0
 * @descripition:
 * @date 2022/5/11 7:52
 */
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
@Inherited
public @interface NettyRpcInterface {

    /**
     * 服务名
     * @return
     */
    String value();

    /**
     * 版本号
     * @return
     */
    String version() default "1.0.0";

    /**
     * 接口Class
     * @return
     */
    Class<?> interfaceClass();

    /**
     * 超时时间 默认2000ms
     * @return
     */
    long timeOut() default 2000;

    /**
     * 是否启用 默认启用
     * @return
     */
    boolean enable() default true;
}
